diff --git a/user_guide/general/styleguide.html b/user_guide/general/styleguide.html
index 1200a2c..7b7d837 100644
--- a/user_guide/general/styleguide.html
+++ b/user_guide/general/styleguide.html
@@ -107,12 +107,12 @@
 				a UTF-8 encoded file, and the <abbr title="Byte Order Mark">BOM</abbr> can have a negative side effect in PHP of sending output,
 				preventing the application from being able to set its own headers.  Unix line endings should
 				be used (LF).</p>
-			
+
 			<p>Here is how to apply these settings in some of the more common text editors.  Instructions for your
 				text editor may vary; check your text editor's documentation.</p>
-		
+
 			<h5>TextMate</h5>
-		
+
 			<ol>
 				<li>Open the Application Preferences</li>
 				<li>Click Advanced, and then the "Saving" tab</li>
@@ -121,9 +121,9 @@
 				<li><em>Optional:</em> Check "Use for existing files as well" if you wish to modify the line
 					endings of files you open to your new preference.</li>
 			</ol>
-		
+
 			<h5>BBEdit</h5>
-		
+
 			<ol>
 				<li>Open the Application Preferences</li>
 				<li>Select "Text Encodings" on the left.</li>
@@ -137,7 +137,7 @@
 
 		<h2><a name="php_closing_tag"></a>PHP Closing Tag</h2>
 		<div class="guidelineDetails">
-			<p>The PHP closing tag on a PHP document <strong>?&gt;</strong> is optional to the PHP parser.  However, if used, any whitespace following the closing tag, whether introduced 
+			<p>The PHP closing tag on a PHP document <strong>?&gt;</strong> is optional to the PHP parser.  However, if used, any whitespace following the closing tag, whether introduced
 				by the developer, user, or an FTP application, can cause unwanted output, PHP errors, or if the latter are suppressed, blank pages.  For this reason, all PHP files should
 				<strong>OMIT</strong> the closing PHP tag, and instead use a comment block to mark the end of file and it's location relative to the application root.
 				This allows you to still identify a file as being complete and not truncated.</p>
@@ -158,7 +158,7 @@
 </code>
 		</div>
 
-	
+
 		<h2><a name="class_and_method_naming"></a>Class and Method Naming</h2>
 		<div class="guidelineDetails">
 			<p>Class names should always have their first letter uppercase, and the constructor method should match identically.  Multiple words should be separated with an underscore, and not CamelCased.  All other class methods should be entirely lowercased and named to clearly indicate their function, preferably including a verb.  Try to avoid overly long and verbose names.</p>
@@ -193,8 +193,8 @@
 function get_file_properties()	// descriptive, underscore separator, and all lowercase letters</code>
 
 		</div>
-	
-	
+
+
 		<h2><a name="variable_names"></a>Variable Names</h2>
 		<div class="guidelineDetails">
 			<p>The guidelines for variable naming is very similar to that used for class methods.  Namely, variables should contain only lowercase letters, use underscore separators, and be reasonably named to indicate their purpose and contents. Very short, non-word variables should only be used as iterators in for() loops.</p>
@@ -213,8 +213,8 @@
 $last_city
 </code>
 		</div>
-	
-	
+
+
 		<h2><a name="commenting"></a>Commenting</h2>
 		<div class="guidelineDetails">
 			<p>In general, code should be commented prolifically.  It not only helps describe the flow and intent of the code for less experienced programmers, but can prove invaluable when returning to your own code months down the line.  There is not a required format for comments, but the following are recommended.</p>
@@ -257,8 +257,8 @@
 $parts = $this->foo($parts);
 </code>
 		</div>
-	
-	
+
+
 		<h2><a name="constants"></a>Constants</h2>
 		<div class="guidelineDetails">
 			<p>Constants follow the same guidelines as do variables, except constants should always be fully uppercase.  <em>Always use CodeIgniter constants when appropriate, i.e. SLASH, LD, RD, PATH_CACHE, etc.</em></p>
@@ -275,8 +275,8 @@
 $str = str_replace(LD.'foo'.RD, 'bar', $str);
 </code>
 		</div>
-	
-	
+
+
 		<h2><a name="true_false_and_null"></a>TRUE, FALSE, and NULL</h2>
 		<div class="guidelineDetails">
 			<p><strong>TRUE</strong>, <strong>FALSE</strong>, and <strong>NULL</strong> keywords should always be fully uppercase.</p>
@@ -290,9 +290,9 @@
 $bar = FALSE;
 function foo($bar = NULL)</code>
 		</div>
-	
 
-	
+
+
 		<h2><a name="logical_operators"></a>Logical Operators</h2>
 		<div class="guidelineDetails">
 			<p>Use of <strong>||</strong> is discouraged as its clarity on some output devices is low (looking like the number 11 for instance).
@@ -310,9 +310,9 @@
 if ( ! is_array($foo))
 </code>
 		</div>
-	
-	
-	
+
+
+
 		<h2><a name="comparing_return_values_and_typecasting"></a>Comparing Return Values and Typecasting</h2>
 		<div class="guidelineDetails">
 			<p>Some PHP functions return FALSE on failure, but may also have a valid return value of "" or 0, which would evaluate to FALSE in loose comparisons.  Be explicit by comparing the variable type when using these return values in conditionals to ensure the return value is indeed what you expect, and not a value that has an equivalent loose-type evaluation.</p>
@@ -350,27 +350,27 @@
 <code>$str = (string) $str;	// cast $str as a string</code>
 
 		</div>
-	
-	
+
+
 		<h2><a name="debugging_code"></a>Debugging Code</h2>
 		<div class="guidelineDetails">
 			<p>No debugging code can be left in place for submitted add-ons unless it is commented out, i.e. no var_dump(), print_r(), die(), and exit() calls that were used while creating the add-on, unless they are commented out.</p>
 
 <code>// print_r($foo);</code>
 		</div>
-	
 
-	
+
+
 		<h2><a name="whitespace_in_files"></a>Whitespace in Files</h2>
 		<div class="guidelineDetails">
 			<p>No whitespace can precede the opening PHP tag or follow the closing PHP tag.  Output is buffered, so whitespace in your files can cause output to begin before CodeIgniter outputs its content, leading to errors and an inability for CodeIgniter to send proper headers.  In the examples below, select the text with your mouse to reveal the incorrect whitespace.</p>
 
 			<p><strong>INCORRECT</strong>:</p>
-<code>     
+<code>
 &lt;?php
 	// ...there is whitespace and a linebreak above the opening PHP tag
 	// as well as whitespace after the closing PHP tag
-?&gt;    
+?&gt;
 </code>
 			<p><strong>CORRECT</strong>:</p>
 <code>&lt;?php
@@ -378,15 +378,15 @@
 ?&gt;</code>
 
 		</div>
-	
-	
+
+
 		<h2><a name="compatibility"></a>Compatibility</h2>
 		<div class="guidelineDetails">
 			<p>Unless specifically mentioned in your add-on's documentation, all code must be compatible with PHP version 4.3+.  Additionally, do not use PHP functions that require non-default libraries to be installed unless your code contains an alternative method when the function is not available, or you implicitly document that your add-on requires said PHP libraries.</p>
 		</div>
-		
 
-	
+
+
 		<h2><a name="class_and_file_names_using_common_words"></a>Class and File Names using Common Words</h2>
 		<div class="guidelineDetails">
 			<p>When your class or filename is a common word, or might quite likely be identically named in another PHP script, provide a unique prefix to help prevent collision.  Always realize that your end users may be running other add-ons or third party PHP scripts.  Choose a prefix that is unique to your identity as a developer or company.</p>
@@ -402,8 +402,8 @@
 class Pre_import	mod.pre_import.php
 </code>
 		</div>
-	
-	
+
+
 		<h2><a name="database_table_names"></a>Database Table Names</h2>
 		<div class="guidelineDetails">
 			<p>Any tables that your add-on might use must use the 'exp_' prefix, followed by a prefix uniquely identifying you as the developer or company, and then a short descriptive table name.  You do not need to be concerned about the database prefix being used on the user's installation, as CodeIgniter's database class will automatically convert 'exp_' to what is actually being used.</p>
@@ -419,30 +419,30 @@
 
 			<p class="important"><strong>NOTE:</strong> Be mindful that MySQL has a limit of 64 characters for table names.  This should not be an issue as table names that would exceed this would likely have unreasonable names.  For instance, the following table name exceeds this limitation by one character.  Silly, no? <strong>exp_pre_email_addresses_of_registered_users_in_seattle_washington</strong>
 		</div>
-	
 
-	
+
+
 		<h2><a name="one_file_per_class"></a>One File per Class</h2>
 		<div class="guidelineDetails">
 			<p>Use separate files for each class your add-on uses, unless the classes are <em>closely related</em>.  An example of CodeIgniter files that contains multiple classes is the Database class file, which contains both the DB class and the DB_Cache class, and the Magpie plugin, which contains both the Magpie and Snoopy classes.</p>
 		</div>
-	
 
-	
+
+
 		<h2><a name="whitespace"></a>Whitespace</h2>
 		<div class="guidelineDetails">
 			<p>Use tabs for whitespace in your code, not spaces.  This may seem like a small thing, but using tabs instead of whitespace allows the developer looking at your code to have indentation at levels that they prefer and customize in whatever application they use.  And as a side benefit, it results in (slightly) more compact files, storing one tab character versus, say, four space characters.</p>
 		</div>
-	
 
-	
+
+
 		<h2><a name="line_breaks"></a>Line Breaks</h2>
 		<div class="guidelineDetails">
 			<p>Files must be saved with Unix line breaks.  This is more of an issue for developers who work in Windows, but in any case ensure that your text editor is setup to save files with Unix line breaks.</p>
 		</div>
-	
 
-	
+
+
 		<h2><a name="code_indenting"></a>Code Indenting</h2>
 		<div class="guidelineDetails">
 			<p>Use Allman style indenting.  With the exception of Class declarations, braces are always placed on a line by themselves, and indented at the same level as the control statement that "owns" them.</p>
@@ -498,12 +498,12 @@
 	}
 }</code>
 		</div>
-	
+
 
 	<h2><a name="bracket_spacing"></a>Bracket and Parenthetic Spacing</h2>
 		<div class="guidelineDetails">
 			<p>In general, parenthesis and brackets should not use any additional spaces.  The exception is that a space should always follow PHP control structures that accept arguments with parenthesis (declare, do-while, elseif, for, foreach, if, switch, while), to help distinguish them from functions and increase readability.</p>
-			
+
 <code>INCORRECT:
 $arr[ $foo ] = 'foo';
 
@@ -514,13 +514,13 @@
 INCORRECT:
 function foo ( $bar )
 {
-	
+
 }
 
 CORRECT:
 function foo($bar) // no spaces around parenthesis in function declarations
 {
-	
+
 }
 
 
@@ -531,9 +531,9 @@
 foreach ($query->result() as $row) // single space following PHP control structures, but not in interior parenthesis
 </code>
 		</div>
-	
-	
-	
+
+
+
 		<h2><a name="localized_text"></a>Localized Text</h2>
 		<div class="guidelineDetails">
 			<p>Any text that is output in the control panel should use language variables in your lang file to allow localization.</p>
@@ -544,9 +544,9 @@
 CORRECT:
 return $this->lang->line('invalid_selection');</code>
 		</div>
-	
 
-	
+
+
 		<h2><a name="private_methods_and_variables"></a>Private Methods and Variables</h2>
 		<div class="guidelineDetails">
 			<p>Methods and variables that are only accessed internally by your class, such as utility and helper functions that your public methods use for code abstraction, should be prefixed with an underscore.</p>
@@ -554,9 +554,9 @@
 <code>convert_text()		// public method
 _convert_text()		// private method</code>
 		</div>
-	
 
-	
+
+
 		<h2><a name="php_errors"></a>PHP Errors</h2>
 		<div class="guidelineDetails">
 			<p>Code must run error free and not rely on warnings and notices to be hidden to meet this requirement.  For instance, never access a variable that you did not set yourself (such as $_POST array keys) without first checking to see that it isset().</p>
@@ -574,9 +574,9 @@
 
 			<p class="important"><strong>NOTE:</strong> Setting the <a href="http://us.php.net/manual/en/ref.errorfunc.php#ini.display-errors">display_errors</a> setting with ini_set() at runtime is not identical to having it enabled in the PHP environment.  Namely, it will not have any effect if the script has fatal errors</p>
 		</div>
-	
 
-	
+
+
 		<h2><a name="short_open_tags"></a>Short Open Tags</h2>
 		<div class="guidelineDetails">
 			<p>Always use full PHP opening tags, in case a server does not have short_open_tag enabled.</p>
@@ -589,9 +589,9 @@
 <strong>CORRECT</strong>:
 &lt;?php echo $foo; ?&gt;</code>
 		</div>
-	
 
-	
+
+
 		<h2><a name="one_statement_per_line"></a>One Statement Per Line</h2>
 		<div class="guidelineDetails">
 			<p>Never combine statements on one line.</p>
@@ -605,9 +605,9 @@
 $bat = str_replace($foo, $bar, $bag);
 </code>
 		</div>
-	
 
-	
+
+
 		<h2><a name="strings"></a>Strings</h2>
 		<div class="guidelineDetails">
 			<p>Always use single quoted strings unless you need variables parsed, and in cases where you do need variables parsed, use braces to prevent greedy token parsing.  You may also use double-quoted strings if the string contains single quotes, so you do not have to use escape characters.</p>
@@ -622,9 +622,9 @@
 "My string {$foo}"
 "SELECT foo FROM bar WHERE baz = 'bag'"</code>
 		</div>
-	
 
-	
+
+
 		<h2><a name="sql_queries"></a>SQL Queries</h2>
 		<div class="guidelineDetails">
 			<p>MySQL keywords are always capitalized: SELECT, INSERT, UPDATE, WHERE, AS, JOIN, ON, IN, etc.</p>
@@ -645,16 +645,16 @@
 				ORDER BY foobaz
 				LIMIT 5, 100");</code>
 		</div>
-	
 
-	
+
+
 		<h2><a name="default_function_arguments"></a>Default Function Arguments</h2>
 		<div class="guidelineDetails">
 			<p>Whenever appropriate, provide function argument defaults, which helps prevent PHP errors with mistaken calls and provides common fallback values which can save a few lines of code. Example:</p>
 
 <code>function foo($bar = '', $baz = FALSE)</code>
 		</div>
-	
+
 
 
 </div>
